
#apt install gcc g++
go env -w CGO_ENABLED=1

go clean --cache

# go文件直接嵌套c
go build -work -x c.go
ldd c  #包含cgo对libc库的引用

return

#https://www.rectcircle.cn/posts/go-static-compile-and-cgo/

#不依赖底层c
1，go env -w CGO_ENABLED=0
2，go build -tags osusergo,netgo noC.go  // 强制使用go
    #not a dynamic executable


#Go 静态编译场景
#这里的静态编译指的是，Go 项目编译出的可执行文件是没有任何动态链接库的依赖。

# 使用 -ldflags 指定：
#   -linkmode external : 使用外部链接器
#   --extldflags -static : 告知 C 语言编译器使用静态编译。
go build -ldflags "-linkmode external -extldflags -static" ./cmd




# 安装 musl-libc 编译器
sudo apt-get install musl-tools
# 使用 CC 指定 C 语言编译器为 musl-gcc
# 使用 -ldflags 指定：
#   -linkmode external : 使用外部链接器
#   --extldflags -static : 告知 C 语言编译器使用静态编译。
CC=musl-gcc go build -ldflags "-linkmode external -extldflags -static" ./c